package com.battle.service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.battle.pojo.dto.warCaseStudy.SelectWarCaseStudyDto;
import com.battle.pojo.entity.WarCaseStudy;
import com.battle.pojo.enums.StudyStatusEnum;
import com.battle.pojo.vo.caseBaseInfo.CaseCakeDetailsVo;
import com.battle.pojo.vo.caseBaseInfo.CaseCakeVo;
import org.springframework.stereotype.Repository;

import java.time.LocalDate;
import java.util.List;


/**
* 【描 述】：
* 【环 境】：J2SE
* 【详 细】：
*
*/
@Repository
public interface WarCaseStudyMapper extends BaseMapper< WarCaseStudy > {

    /**
     * 搜索战例研讨
     * @param dto
     * @return
     */
    Page< WarCaseStudy > selectWarCaseStudy(SelectWarCaseStudyDto dto);

    /**
     * 获取战例饼图
     * @param startTime
     * @param endTime
     * @return
     */
    List<CaseCakeDetailsVo> getCaseCakeVoList(LocalDate startTime, LocalDate endTime);

    /**
     * 获得战例研讨饼图
     * @param startTime
     * @param endTime
     * @param status 状态
     * @param isSpecialist 是否专家
     * @return
     */
    List<CaseCakeDetailsVo> getStudyCakeVoList(LocalDate startTime, LocalDate endTime, StudyStatusEnum status, Boolean isSpecialist);


    /**
     * 获取对应时间内增长得战例数量
     * @param startTime
     * @param endTime
     * @return
     */
    List<CaseCakeDetailsVo> getCaseTimeVoList(LocalDate startTime, LocalDate endTime);

    /**
     * 获取对应时间内增长得战例研讨数量
     * @param startTime
     * @param endTime
     * @return
     */
    List<CaseCakeDetailsVo> getStudyTimeVoList(LocalDate startTime, LocalDate endTime);

}